package ${basePackage}.service;

import ${common}.core.PageResult;
import ${basePackage}.vo.entity.${tableInfo.className}EntityVO;
import ${basePackage}.vo.request.${tableInfo.className}RequestVO;
import ${basePackage}.vo.response.${tableInfo.className}ResponseVO;

import java.util.List;

/**
 * ${tableInfo.tableComment}
 *
 * @author ${author}
 * @date ${date}
 **/
public interface ${tableInfo.className}Service {

<#if varNameList?seq_contains("id")>
    /**
     * 获取${tableInfo.tableComment}分页列表
     *
     * @param ${tableInfo.varName}RequestVO 查询条件
     * @return 返回${tableInfo.tableComment}分页结果
     */
    PageResult<${tableInfo.className}ResponseVO> query${tableInfo.className}PageList(${tableInfo.className}RequestVO ${tableInfo.varName}RequestVO);
</#if>

    /**
     * 获取${tableInfo.tableComment}详细信息
     *
     * @param ${varName(tableInfo.relationColumn)} ${tableInfo.tableComment}${tableInfo.relationColumn}
     * @return ${tableInfo.tableComment}
     */
    List<${tableInfo.className}EntityVO> get${tableInfo.className}ListBy${className(tableInfo.relationColumn)}(String ${varName(tableInfo.relationColumn)});

    /**
     * 替换${tableInfo.tableComment}
     *
     * @param list ${tableInfo.tableComment}实体列表
     * @param ${varName(tableInfo.relationColumn)} ${tableInfo.tableComment}${tableInfo.relationColumn}
     */
    void replace${tableInfo.className}(String ${varName(tableInfo.relationColumn)}, List<${tableInfo.className}EntityVO> list);

<#if varNameList?seq_contains("id")>
    /**
     * 删除${tableInfo.tableComment}
     *
     * @param id ${tableInfo.tableComment}ID
     */
    void delete${tableInfo.className}(String id);
</#if>
}
